package com.carmeth.patrones.observador;

import java.util.ArrayList;
import java.util.List;

public class Proyecto {
	public enum Accion{
		LEVANTA_REQUERIMIENTOS,
		ARRANCA_DESARROLLO,
		CAMBIA_REQUERIMIENTOS,
		TERMINA_DESARROLLO,
		TERMINA_PROYECTO;
	}
	
	private List<IObservador> _observadores = new ArrayList<IObservador>();
	
	public Proyecto(){
		
	}
	
	public void suscribir(IObservador observador){
		_observadores.add(observador);
	}
	
	public void cambiaEstado(Accion accion){
		System.out.println("Cambiando estado del proyecto: " + accion.toString());
		for(IObservador observador : _observadores){
			observador.notificaCambio(accion);
		}
	}
	
	
	
}
